// pages/feedback/feedback.js
Page({
  data: {
    feedbackTypes: ['功能异常', '体验问题', '产品建议', '其他'],
    typeIndex: null,
    content: '',
    images: [],
    feedbackHistory: [],
    typePopupShow: false
  },

  // 返回上一页
  onBack() {
    wx.navigateBack({
      delta: 1
    })
  },

  onLoad() {
    this.loadFeedbackHistory()
  },

  // 加载历史反馈记录
  loadFeedbackHistory() {
    // 这里应该调用后端API获取历史记录
    // 目前使用模拟数据
    this.setData({
      feedbackHistory: [
        {
          id: 1,
          type: '功能异常',
          content: '登录页面偶尔会出现加载失败的情况',
          images: [],
          status: '处理中',
          time: '2024-01-20 14:30'
        },
        {
          id: 2,
          type: '产品建议',
          content: '建议增加夜间模式',
          images: [],
          status: '已完成',
          time: '2024-01-19 16:45'
        }
      ]
    })
  },

  // 显示类型选择弹窗
  showTypePopup() {
    this.setData({
      typePopupShow: true
    })
  },

  // 关闭弹窗
  onClose() {
    this.setData({
      typePopupShow: false
    })
  },

  // 选择反馈类型
  handleTypeSelect(e) {
    const index = e.currentTarget.dataset.index
    this.setData({
      typeIndex: index,
      typePopupShow: false
    })
  },

  // 输入反馈内容
  onContentInput(e) {
    this.setData({
      content: e.detail.value
    })
  },

  // 选择图片
  chooseImage() {
    const that = this
    wx.chooseImage({
      count: 4 - that.data.images.length,
      sizeType: ['compressed'],
      sourceType: ['album', 'camera'],
      success(res) {
        that.setData({
          images: [...that.data.images, ...res.tempFilePaths]
        })
      }
    })
  },

  // 删除图片
  deleteImage(e) {
    const index = e.currentTarget.dataset.index
    const images = this.data.images
    images.splice(index, 1)
    this.setData({ images })
  },

  // 预览图片
  previewImage(e) {
    const current = e.currentTarget.dataset.url
    wx.previewImage({
      current,
      urls: this.data.images
    })
  },

  // 预览历史反馈图片
  previewHistoryImage(e) {
    const { current, urls } = e.currentTarget.dataset
    wx.previewImage({ current, urls })
  },

  // 提交反馈
  submitFeedback() {
    if (this.data.typeIndex === null) {
      wx.showToast({
        title: '请选择反馈类型',
        icon: 'none'
      })
      return
    }

    if (!this.data.content.trim()) {
      wx.showToast({
        title: '请输入反馈内容',
        icon: 'none'
      })
      return
    }

    // 这里应该调用后端API提交反馈
    // 目前只做前端展示
    wx.showLoading({
      title: '提交中...'
    })

    setTimeout(() => {
      wx.hideLoading()
      wx.showToast({
        title: '提交成功',
        icon: 'success',
        duration: 2000,
        success: () => {
          // 清空表单
          this.setData({
            typeIndex: null,
            content: '',
            images: []
          })
          // 刷新历史记录
          this.loadFeedbackHistory()
        }
      })
    }, 1500)
  }
})